草庐IT

javascript - 重新声明 JavaScript 变量

全部标签

ruby - 如何设置自动测试以仅重新运行失败的 rspec 示例

我对自动测试的工作方式的印象(基于cucumbergithubwiki和其他在线内容)是它应该重新运行红色示例,直到它们通过。我的问题是它会重新运行规范文件中找到失败示例的所有示例,包括通过的示例。我不想浪费时间在修复失败示例的同时重新运行通过的示例。是否可以配置自动测试以便仅运行失败的示例? 最佳答案 您需要rspec-retrygem。以下是文档中有关如何实现它的一些示例:将它应用到覆盖整个测试套件的configureblock中...RSpec.configuredo|config|config.verbose_retry=t

ruby-on-rails - 仅当特定实例变量具有值时,如何 stub 实例方法?

我有一个对象MyObject:classMyObjectdefinitialize(options={})@stat_to_load=options[:stat_to_load]||'test'enddefresults[]endend仅当stat_to_load="times"时,我才想stubresults方法。我怎样才能做到这一点?我试过了:MyObject.any_instance.stubs(:initialize).with({:stat_to_load=>"times"}).stubs(:results).returns(["klala"])但它不起作用。有什么想法吗?

javascript - jQuery 的 jquery-1.10.2.min.map 正在触发 404(未找到)

我看到有关未找到文件min.map的错误消息:GETjQuery'sjquery-1.10.2.min.mapistriggeringa404(NotFound)截图这是从哪里来的? 最佳答案 如果ChromeDevTools报告.map文件的404(可能是jquery-1.10.2.min.map、jquery.min.map或jquery-2.0.3.min.map,但任何事情都可能发生)首先要知道的是,这仅在使用DevTools时才会请求。您的用户不会遇到此404。现在您可以修复此问题或禁用sourcemap功能。修复:获取文

ruby-on-rails - Rails 3 引擎和代码在开发模式下重新加载

我有一个Rails3引擎。在初始化程序中,它需要来自某个文件夹的一堆文件。在这个文件中,我引擎的用户定义了代码、业务逻辑、配置引擎等。所有这些数据都静态存储在我的引擎主模块中(在应用程序属性中)moduleMyEngineclass我希望在开发模式下根据每个请求重新加载这些文件。(这样用户就不必重新加载服务器来查看他刚刚所做的更改)当然我可以做这样的事情而不是初始化config.to_preparedoMyEngine.application.clear!load('some/file')end但是这样我会遇到问题(因为这个文件中定义的常量不会真正被重新加载)。理想的解决方案是让我的整

ruby - 重新连接 tcpsocket(或如何检测已关闭的套接字)

我有一个连接到服务器的ruby​​tcpsocket客户端。在发送数据之前如何检查套接字是否已连接?我是否尝试“拯救”断开连接的tcpsocket,重新连接然后重新发送?如果是这样,有没有人有一个简单的代码示例,因为我不知道从哪里开始:(我很自豪我设法在rails中获得了一个持久连接的客户端tcpsocket。然后服务器决定杀死客户端,一切都崩溃了;)编辑我已经使用此代码解决了一些问题-如果未连接,它将尝试重新连接,但如果服务器已关闭则不会处理这种情况(它将继续重试)。这是正确方法的开始吗?谢谢defself.write(data)begin@@my_connection.write(

ruby-on-rails - 为什么我必须在使用客户验证器后重新加载 rspec 中的记录?

我有一个模型User,它在创建后的回调中创建了选项#Userhas_one:user_optionsafter_create:create_optionsprivatedefcreate_optionsUserOptions.create(user:self)end我对此有一些简单的Rspec覆盖:describe"newuser"doit"createsuser_optionsaftertheuseriscreated"douser=create(:user)user.user_options.shouldbe_kind_of(UserOptions)endend一切正常,直到我将自

ruby - 无论如何要在 REPL 中重新加载修改后的 gem 文件

在尝试构建Rubygem(使用Bundler)时,我倾向于使用Bundler提供的REPL测试代码——可通过bundleconsole访问。有什么方法可以重新加载整个项目吗?我最终再次加载单个(更改的)文件以测试新更改。 最佳答案 以下hack适用于我的一个相对简单的gem和Ruby2.2.2。我很想看看它是否适合你。它做出以下假设:您具有传统的文件夹结构:一个名为lib/my_gem_name.rb的文件和一个文件夹lib/my_gem_name/,其中包含任何文件/文件夹结构。您要重新加载的所有类都嵌套在您的顶级模块MyGemN

Ruby:Minitest、测试单元和实例变量

(已在https://www.ruby-forum.com/topic/6876320发布,但在这里交叉发布,因为到目前为止我还没有收到回复)。关于在Minitest和/或Test::Unit中并行化测试的问题(即正确使用parallelize_me!):假设我有一些辅助方法,几个测试都需要这些方法。根据我的理解,我不能用这种方法做这样的事情(简化示例):defprep(m,n)@pid=m@state=nenddefprocessif@stat>5&&@pid!=0...else...endend我想我不能在Minitest和测试单元中这样做,因为如果我从我的几个测试函数调用准备和处

ruby - 为什么 ruby​​ 中的变量前缀允许在方法调用中省略括号?

在DavidFlanagan的TheRubyProgrammingLanguage中;松本幸弘theystatethatthevariableprefixes($,@,@@)areonepricewepayforbeingabletoomitparenthesesaroundmethodinvocations.谁可以给我解释一下这个? 最佳答案 这是我不成熟的意见。如果我错了,请纠正我。假设实例变量没有@前缀,那么我们如何声明一个实例变量?classMyClassdefinitialize#Herefooisaninstanceva

ruby-on-rails - 在开发模式下重新加载 Rails 3 初始值设定项

我正在构建一个Rails3应用程序,用户可以在其中选择多个模板之一并构建一个小网站。我试图在应用程序启动时初始化所有可用的模板。这本质上是一个文件,让我定义它们,然后为它们中的每一个调用Template.add(template),然后将它们存储在@@templates中,我可以通过Template.find(name)访问它们。问题是在开发模式下,我调用Template.add的初始化程序在第一个请求时加载,然后在reload!时被清除.我读过有关config.to_prepare的内容,但它对我不起作用,可能是因为我需要这样的模板:#templateconfigatapp/temp